/**
 * 页面初始化
 */
$(function() {

    initDictTable();
    initKeyMapTable();

    $("#btnAddDict").click(function() {
        openDictAdd();
    });
    $("#btnAdd").click(function() {
        openKeyWin();
    });
});

/**
 * 保存基础数据
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午9:18:36
 */
function doSaveKeymap() {

    var id = $("#id").val();
    var keyIntro = $("#keyIntro").val();
    var keyValue = $("#keyValue").val();
    var keyType = $("#keyType").val();
    var sortMark = $("#sortMark").val();
    var intro = $("#intro").val();
    if (null == keyIntro || '' == keyIntro || $.trim(keyIntro).length == 0) {
        showErr("基础数据名称不可为空！");
        return;
    }
    if (null == keyValue || '' == keyValue || $.trim(keyValue).length == 0) {
        showErr("基础数据值不可为空！");
        return;
    }
    if (null == sortMark || '' == sortMark || $.trim(sortMark).length == 0) {
        sortMark = 0;
    }
    $.ajax({
        url : rootPath + "/dict/saveKeyMap",
        type : "post",
        async : true,
        dataType : 'json',
        data : {
            id : id,
            keyIntro : keyIntro,
            keyValue : keyValue,
            keyType : keyType,
            sortMark : sortMark,
            intro : intro
        },
        success : function(json) {
            if (json.code == '1') {
                showSuccess(json.msg);
                sys.reloadTable('keymapTable');
                $('#keyModal').modal('hide');
            } else {
                showErr(json.msg);
            }
        }
    });
}
/**
 * 打开
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午10:06:48
 */
function openKeyWin() {
    $("#id").val("");
    $("#keyIntro").val("");
    $("#keyValue").val("");
    $("#sortMark").val("");
    $("#intro").val("");
    var keyType = $("#keyType").val();
    if (null == keyType || '' == keyType || $.trim(keyType).length == 0) {
        showErr("请先选择字典数据！");
        return;
    }
    $('#keyModal').modal('show');
}
/**
 * 打开基础数据编辑页面
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午10:35:36
 * @param id
 * @param keyType
 * @param keyValue
 * @param keyIntro
 * @param sortMark
 * @param intro
 */
function toModifyKey(id, keyType, keyValue, keyIntro, sortMark, intro) {
    $("#keyType").val(keyType);
    openKeyWin();
    $("#id").val(id);
    $("#keyIntro").val(keyIntro);
    $("#keyValue").val(keyValue);
    $("#sortMark").val(sortMark);
    $("#intro").val(intro);
}

/**
 * 打开添加字典窗口
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午8:39:52
 */
function openDictAdd() {
	$("#divType").show();
    $("#id").val("");
    $("#dictType").val("");
    $("#dictName").val("");
    $('#dictModal').modal('show');
}
/**
 * 保存字典
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午8:40:45
 */
function doSaveDict() {
    var id = $("#id").val();
    var dictType = $("#dictType").val();
    var type = $("#type").val();
    var dictName = $("#dictName").val();
    if (null == dictType || '' == dictType || $.trim(dictType).length == 0) {
        showErr("字典类型不可为空！");
        return;
    }
    if (null == dictName || '' == dictName || $.trim(dictName).length == 0) {
        showErr("字典名称不可为空！");
        return;
    }
    $.ajax({
        url : rootPath + "/dict/saveDict",
        type : "post",
        async : true,
        dataType : 'json',
        data : {
            id : id,
            type : type,
            dictType : dictType,
            dictName : dictName
        },
        success : function(json) {
            if (json.code == '1') {
                showSuccess(json.msg);
                sys.reloadTable('dictTable');
                $('#dictModal').modal('hide');
            } else {
                showErr(json.msg);
            }
        }
    });
}

/**
 * 打开字典编辑窗口
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午11:11:44
 * @param id
 * @param dictType
 * @param dictName
 */
function toModifyDict(id, dictType, dictName) {
    openDictAdd();
    $("#id").val(id);
    $("#dictType").val(dictType);
    $("#dictName").val(dictName);
    $("#divType").hide();

}

/**
 * 初始化字典名称
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月26日 下午4:23:26
 */
function initDictTable() {
    var columns = [
            {
                field : 'id',
                title : '编号',
                align : 'center',
                valign : 'middle',
                visible : false
            },
            {
                field : 'dictName',
                title : '字典中文名',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'dictType',
                title : '字典名称',
                align : 'center',
                valign : 'middle'
            },
            {
                title : '操作',
                align : 'center',
                valign : 'middle',
                formatter : function(value, row, index) {
                    return "<a href=\"#\" class='btn btn-info btn-xs' onclick=\"toModifyDict(" + row.id + ",\'" + row.dictType + "\',\'"
                            + row.dictName + "\')\">编辑</a>";
                }
            } ];
    var url = rootPath + "/dict/listDict"; // 请求json数据的服务器地址
    sys.initTable('dictTable', {
        url : url,
        queryParams : null,
        columns : columns,
        pagination : false,
        striped : true,
        clickToSelect : true,
        onClickRow : function(row, ele, field) {
            // 单击加载
            // showErr(row);
            // showErr(ele);
            // showErr(field);
            $("#keyType").val(row.dictType);
            sys.reloadTable('keymapTable');
        }
    // ,
    // onDblClickRow : function(row, ele, field) {
    // //双击修改
    // showErr(field + " 222");
    // }
    });
    // $("#dictTable").bootstrapTable({
    // onClickRow : function(row, ele, field) {
    // //单击加载
    // showErr(field);
    // },
    // onDblClickRow : function(row, ele, field) {
    // //双击修改
    // showErr(field + " 222");
    // }
    // });
}

/**
 * 初始化字典列表
 * 
 * @Description do-something
 * @author xu_cc
 * @date 创建时间：2017年8月24日 上午1:25:57
 */
function initKeyMapTable() {
    var columns = [
            {
                field : 'id',
                title : '编号',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'keyType',
                title : '字典名称',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'keyIntro',
                title : '字典项名称',
                align : 'center',
                valign : 'middle'
            },
            {
            	field : 'keyValue',
            	title : '字典项值',
            	align : 'center',
            	valign : 'middle'
            },
            {
                field : 'sortMark',
                title : '排序',
                align : 'center',
                valign : 'middle'
            },
            {
                field : 'intro',
                title : '备注',
                align : 'left',
                valign : 'middle'
            },
            {
                title : '操作',
                align : 'center',
                valign : 'middle',
                formatter : function(value, row, index) {
                    return "<a href=\"#\" class='btn btn-info btn-xs' onclick=\"toModifyKey(" + row.id + ",\'" + row.keyType + "\',\'"
                            + row.keyValue + "\',\'" + row.keyIntro + "\',\'" + row.sortMark + "\',\'" + row.intro
                            + "\')\">编辑</a>";
                }
            } ];
    // 定义查询回调函数（查询参数在此设置）
    var queryParams = function(params) {
        var keyType = $("#keyType").val();
        return {
            keyType : keyType,
            rows : params.limit, // 页面大小
            page : params.pageNumber
        // 页码
        };
    };
    var url = rootPath + "/dict/listKeyPage"; // 请求json数据的服务器地址
    sys.initTable('keymapTable', {
        url : url,
        queryParams : queryParams,
        columns : columns,
        pagination : true,
        striped : true,
        clickToSelect : true
    });
}